AWS入門ブログリレー2024〜AWS Compute Optimizer編〜

AWS入門ブログリレー2024〜AWS Compute Optimizer編〜

Clock Icon2024.05.16

こんにちは、コンサル部@大阪オフィスのTodaです。
当エントリは弊社AWS事業本部による『AWS 入門ブログリレー 2024』の46日目のエントリです。

このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。

AWS をこれから学ぼう!という方にとっては文字通りの入門記事として、またすでに AWS を活用されている方にとっても AWS サービスの再発見や 2024 年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。

では、さっそくいってみましょう。今回のテーマは『AWS Compute Optimizer』です。

AWS Compute Optimizer とは?

AWS Compute Optimizer は機械学習を利用して使用状況を分析し、コスト削減やパフォーマンス向上など利用効率を最適化するための推奨事項を提供するサービスになります。
運用中のサービスで、最適なリソースサイズを選定する場合など役に立つサービスになります。

■ AWS Compute Optimizer
https://aws.amazon.com/jp/compute-optimizer/

分析が可能なリソース

2024年5月時点では下記リソースの分析が可能になっています。

  • Amazon EC2インスタンス
  • Amazon EBSボリューム
  • Amazon EC2 Auto Scaling グループ
  • AWS Lambda関数
  • Amazon ECSタスク(Fargate)
  • 商用ソフトウェアライセンス

ご利用料金

当サービスは 通常の場合は無償にてご利用頂くことが可能です。
また、有料機能として「拡張インフラストラクチャメトリクス」の機能がございます。

拡張インフラストラクチャメトリクスは、Amazon EC2インスタンスと Auto Scalingグループの一部のインスタンスに適用することができ、分析期間を無料でご利用いただける14日から最大93日まで延長することができます。
こちらを利用する事で長い期間にて分析をおこない、推奨事項を取得する事が出来ます。
利用料金は下記ページを参照ください。

■ 拡張インフラストラクチャメトリクス
https://docs.aws.amazon.com/ja_jp/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html

■ AWS Compute Optimizer の料金
https://aws.amazon.com/jp/compute-optimizer/pricing/

ご利用開始の方法について

AWS Compute Optimizerは簡単にご利用を開始することが可能です。
ご利用頂くAWSマネージメントコンソールにログインをおこない、サービスメニューから「AWS Compute Optimizer」を検索します。

ご利用開始の方法について1

画面内の「ご利用開始」をクリックします。

ご利用開始の方法について2

アカウントのオプトイン画面が表示されますので説明内容をご確認いただき、画面下の「オプトイン」をクリックします。
※ご利用のAWSアカウントがAWS Organizationsを管理している場合は、詳細なオプトイン設定にて組織の全てのAWSアカウントを対象にするか、このアカウントのみのするのかを指定します。
組織の全てのAWSアカウントを対象にする場合は下記、「組織の全てのAWSアカウントを対象にする場合」を参照ください。

ご利用開始の方法について3

上記画面が表示されるとCompute Optimizerの利用が開始されます。
機能がAWSリソースの情報をスキャンして推奨事項を提供するまでは最大12時間掛かります。
結果が表示されますと、ダッシュボードを始め各リソースタイプ別のレコメンデーションページに分析結果が表示されます。

画面の見方について

分析が完了しますと節約の機会やパフォーマンスの向上の機会など複数の項目が表示されます。
ページ毎の表示内容についてご案内します。

ダッシュボード

ダッシュボード1

AWS Compute Optimizerで分析した結果を全体を通して「節約の機会」や「パフォーマンスの向上の機会」で確認することが出来ます。
また、リソース別の推奨事項もプロビジョニング不足や過剰・最適の数や比率を確認する事ができます。

①. AWS リソースタイプに基づく検出結果
当項目では、結果表示をするリージョンの指定をすることが可能です。
条件を追加する事で複数リージョンの分析結果を表示することも可能です。
また、組織での分析を利用している場合は、対象とするAWSアカウントを選択する項目が表示されます。

②. 節約の機会
推奨事項を適用する事でどれくらいの節約が出来るか月間の利用料を元に節約割合やコストを表示します。

③. パフォーマンスの向上の機会
分析可能なAWSリソースに対してプロビジョニング不足の割合や数などをまとめた情報が表示されます。
リソース別にリスクがある物をランク別に表示するグラフもございますので、CPUの性能不足やストレージの容量やスループット不足などリスクの高い物を確認いただき、対処いただくことでパフォーマンスの向上をすることも可能です。

ダッシュボード2

④. AWSリソース毎の分析結果
Compute Optimizerのダッシュボードをスクロールしますと、AWSリソース毎に分析結果を確認する画面が表示されます。
当画面ではリソース毎に現状の結果が数と比率にて表示されるようになっています。
結果はリソース毎に内容が変わります。

  • EC2インスタンス
    • プロビジョニング不足
    • 最適化済み
    • 過剰なプロビジョニング
  • Auto Scaling グループ
    • 最適化済み
    • 最適化されていない
  • EBS ボリューム
    • 最適化済み
    • 最適化されていない
  • Lambda 関数
    • 最適化済み
    • 最適化されていない
  • Fargate での ECS サービス
    • プロビジョニング不足
    • 最適化済み
    • 過剰なプロビジョニング
  • ライセンス
    • 最適化済み
    • 不十分なメトリクス ※分析時の情報が不足している場合表示されます。
    • 最適化されていない

リソース毎のレコメンデーション

リソース毎のレコメンデーション1

左メニューまたはダッシュボードのリソース毎の結果をクリックする事でリソース単位での検出結果や分析期間(標準14日)の料金や推奨事項の内容を確認する事ができます。

①. 結果のフィルタリング
一覧に表示する内容をリージョン単位や結果、理由、ワークロードタイプに絞って表示をする条件を指定します。
また、リソースに設定しているタグ情報を利用して絞り込むこともできます。

②. 分析結果の一覧
リソース毎に分析した結果を一覧表示します。
結果や検出理由、推奨事項の内容や、推奨事項を適用する事でどれくらいどのようなメリットがあるかを一覧で把握出来るようになっています。
例で、EC2インスタンスのレコメンデーションで過剰なプロビジョニングの判定を受けた場合は、インスタンスタイプやサイズを変更することでどれくらいコスト削減が出来るか、変更候補のインスタンスタイプなどが表示されます。

リソース毎のレコメンデーション2

推奨事項の詳細を把握する場合は、表示されるインスタンスIDをクリックするか、左ラジオボックスにチェックを付けて、画面上部の[詳細を表示]をクリックすることで確認する事ができます。

レコメンデーションの詳細

レコメンデーションの詳細

レコメンデーションの詳細を確認することが出来るページになります。
当ページでは推奨事項を分析した際のライツサイジングの条件表示や、推奨オプションの候補指定、比較をする事ができます。

①. 推奨事項の設定
EC2インスタンスの推奨事項の場合に表示されます。
推奨事項を分析する際の条件や、拡張インフラストラクチャメトリクス利用有無を確認出来ます。
個別の条件で分析をしたい場合は、[ライツサイジング設定の編集]から条件を指定いただくことで対象リソースのみ分析条件を変更することも出来ます。

②. 推奨オプションとの比較
現在のご利用設定と推奨事項に変更した場合の比較ができます。
EC2インスタンスの場合はオプションが複数表示されて、ラジオボタンで選択する事で推奨事項単位でのCPUやメモリ・ネットワークの使用率などグラフを利用して比較することが出来ます。
切り換えをする場合は、実際のメトリクス情報を比較して、推奨事項に切り替えるかを検討することができます。

設定(一般)について

Compute Optimizerには分析機能を強化するための追加設定がございます。
設定を追加いただくことで推奨事項の結果をより、環境に合わせた形にすることができます。

拡張インフラストラクチャメトリクス - 有料機能

拡張インフラストラクチャメトリクスはEC2インスタンスの分析期間を 標準の14日 から 最大93日 にすることができます。
分析期間を延ばすことで時期によるインスタンス負荷の推移などを推奨事項に反映しやすくなります。

■ 拡張インフラストラクチャメトリクス
https://docs.aws.amazon.com/ja_jp/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html

アクティブにする手順

拡張インフラストラクチャメトリクスを有効化する手順になります。
Compute Optimizerの画面にて左メニューから[一般]を選択します。
タブメニューから[拡張インフラストラクチャメトリクス]を選択して表示される項目内の[編集]をクリックします。

拡張インフラストラクチャメトリクス 1

アクティブの設定はリージョン単位で設定する必要がございます。
2点のリージョンで有効化する場合は[設定の追加]をおこない両リージョンでアクティブ化のチェックを設定ください。
項目追加後は[保存]をクリックください。

拡張インフラストラクチャメトリクス 2

指定リージョンで拡張インフラストラクチャメトリクスがアクティブになっていることを確認します。

拡張インフラストラクチャメトリクス 3

推論されるワークロードタイプ

推論されるワークロードタイプはEC2インスタンスや Auto Scalingグループ内で動作しているアプリケーションを推論して、推奨事項を反映する場合の作業量割り出しをします。
x86系のインスタンスからGravitonインスタンスタイプへの移行などは、アプリケーションの変更なども必要になりますので当作業量割り出しの情報は参考になります。
また、当機能は標準で有効化されており、特定のリージョンや特定のリソースタイプで無効にする機能をすることができます。

■ 推定されるワークロードタイプ
https://docs.aws.amazon.com/ja_jp/compute-optimizer/latest/ug/inferred-workload-type.html

無効にする手順

決まったリージョンで推論を無効にする手順になります。
Compute Optimizerの画面にて左メニューから[一般]を選択します。
タブメニューから[推論されるワークロードタイプ ]を選択して表示される項目内の[編集]をクリックします。

推定されるワークロードタイプ1

標準で有効化されていますので[アクティブ化]にチェックしない状態で無効化するリージョンを指定します。
項目追加後は[保存]をクリックください。

推定されるワークロードタイプ2

指定リージョンで推論されるワークロードタイプが無効になっていることを確認します。

推定されるワークロードタイプ3

外部メトリクスの取り込み

CloudWatchエージェントを導入しないと取得できないEC2のメモリに関するメト​​リクスを外部メトリクスプロバイダー(サービス)から取得する設定になります。
取り込みを有効化すると、CloudWatchエージェントで取得しているメト​​リクスは参照しません。
2024年05月時点で取得可能な項目は下記4点のプロバイダーになります。

  • Datadog
  • Dynatrace
  • Instana
  • New Relic

外部メトリクスの取り込み

当設定手順は各プロバイダー側にて設定手順を操作いただき完了をします。

■ AWS Compute Optimizer - Datadog
https://docs.datadoghq.com/ja/integrations/amazon_compute_optimizer/

■ AWS Compute Optimizer with Dynatrace - Dynatrace
https://info.dynatrace.com/noram-all-rdc-aws-compute-optimizer-20449-registration.html

■ Instana
https://www.ibm.com/blog/?q=Compute+Optimizer&lang=en&cc=undefined

■ Enhance optimization recommendations with new AWS Compute Optimizer integration - New Relic
https://docs.newrelic.com/whats-new/2022/11/whats-new-11-28-aws-compute-optimizer-integration/

ライツサイジング設定について

ライツサイジング設定はEC2インスタンス や Auto Scalingグループの分析・推奨事項表示の際に、分析や推奨事項の条件をカスタマイズする事が出来ます。 カスタマイズはリージョン毎にすることができます。
推奨事項で提示されるインスタンスファミリーを制限したり、メト​​リクスを分析時のヘッドルームや仕切り地の調整をすることも可能です。

■ 調整可能な項目

  • 推奨事項に選定されるEC2インスタンスタイプ・ファミリーの指定
  • 分析期間の変更
  • CPU使用率の選択(しきい値とヘッドルーム)
    • ヘッドルームとは、CPU使用率の余剰を指定する項目です。

カスタマイズをする手順

Compute Optimizerの画面にて左メニューから[ライツサイジング]を選択します。
デフォルトリージョンの項目に表示される[編集]をクリックします。

ライツサイジング設定について1

全リージョンか決まったリージョンでカスタマイズをするかを選択します。
操作例では東京リージョンに限定して設定をしてみます。

ライツサイジング設定について2

推奨事項に表示されるEC2インスタンスタイプとサイズを指定します。
例で、アプリケーションの仕様でArm系のCPUが利用できない、古いインスタンスタイプは選定しないなどは当項目で設定をします。
今回はコンピューティングに最適化されているC系に絞る設定をしてみます。
このとき、一括解除などでページャを移動したさきでもインスタンス指定がある点は注意が必要です。

ライツサイジング設定について3

ルックバック期間と指標の設定画面では分析条件の調整が可能です。
①のルックバック期間は14日と32日が通常選択でき、拡張インフラストラクチャメトリクスが有効の場合は93日が設定できます。
指標の調整は、プリセットから選択する方法と自身でカスタマイズする方法がございます。
カスタマイズをする場合は③のCPUとメモリのしきい値とヘッドルームの値を調整します。
設定後は画面下の[次へ]をクリックします。

ライツサイジング設定について4

設定内容を確認して問題なければ[設定の保存]をクリックします。

ライツサイジング設定について5

登録を完了すると指定リージョンの設定項目が表示されます。

ライツサイジング設定について6

組織の全てのAWSアカウントを対象にする場合

Compute Optimizerはマルチアカウント環境(AWS Organizations)で利用する場合、所属するAWSアカウント全てのリソースを分析することが出来ます。
当ブログではマルチアカウント環境でのオプトイン方法と分析結果の確認方法はご紹介いたしませんが、ご興味がある方は下記記事をご参考ください。

さいごに

以上、『AWS 入門ブログリレー 2024』の46日目のエントリ『AWS Compute Optimizer』編でした。
次回、5/17(金)は弊社 荒平 祐次(arap) による『AWS Certificate Manager』編の予定です。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.